package com.dys.servlet;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @Author: 疾风
 * @ClassName: Servlet05
 * @Description: 响应重定向
 * @CreateDate: 2024/09/20
 * @Version: v1.0.0
 */
@WebServlet(urlPatterns = "/servlet05.do")
public class Servlet05 extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("执行Servlet05的service方法......");
        // http://localhost:8080/servlet_app06_Web_exploded/servlet05.do?money=200
        // 获取请求的参数
        String money = req.getParameter("money");
        System.out.println("传递的money: " + money);

        /*
         * 响应重定向总结
         * 1重定向是服务器给浏览器重新指定请求方向 是一种浏览器行为 地址栏会发生变化
         * 2重定向时,请求对象和响应对象都会再次产生,请求中的参数是不会携带
         * 3重定向也可以帮助我们完成页面跳转
         * 4重定向不能帮助我们访问WEB-INF中的资源
         * 5重定向可以定向到外部资源
         *
         * */
        // 响应重定向
        resp.sendRedirect("servlet06.do");
        // 携带参数
        // resp.sendRedirect("servlet06.do?money=" + money);
        // resp.sendRedirect("aaa.html");
        // 不能访问
        // resp.sendRedirect("WEB-INF/bbb.html");
        // resp.sendRedirect("https://www.baidu.com");
    }
}
